গ্রেডল (Gradle) এবং গ্রুভি (Groovy) একটি শক্তিশালী কনবিনেশন গঠন করে, যা Java এবং Groovy অ্যাপ্লিকেশনের বিল্ড এবং ডিপ্লয়মেন্ট প্রক্রিয়াকে আরও সহজ, দ্রুত এবং কার্যকরী করে তোলে। Gradle একটি আধুনিক বিল্ড টুল যা Groovy বা Kotlin স্ক্রিপ্টিং ভাষার মাধ্যমে বিল্ড স্ক্রিপ্টগুলি লিখতে সহায়ক। Groovy, একটি ডাইনামিক প্রোগ্রামিং ভাষা, Java Virtual Machine (JVM) এ রান করে এবং Gradle এর স্ক্রিপ্টিং ভাষা হিসেবে ব্যবহৃত হয়। Groovy এর সিনট্যাক্স এবং ডাইনামিক বৈশিষ্ট্য Gradle এর সাথে অত্যন্ত উপযোগী, কারণ এটি কোড কমপ্লেক্সিটি কমাতে এবং কাস্টম বিল্ড স্ক্রিপ্ট তৈরি করতে সাহায্য করে।
এখানে Gradle এবং Groovy এর সম্পর্ক এবং এর ব্যবহার নিয়ে আলোচনা করা হয়েছে।
Gradle একটি বিল্ড টুল যা Java, Groovy, Kotlin, এবং অন্যান্য JVM ভিত্তিক ভাষা সমর্থন করে। Gradle এর বিল্ড স্ক্রিপ্ট সাধারণত Groovy অথবা Kotlin DSL (Domain Specific Language) এ লেখা হয়। Gradle মূলত Groovy ভাষায় লেখা স্ক্রিপ্টের মাধ্যমে কাজ করে, যা খুবই সহজ এবং পরিষ্কারভাবে প্রকল্পের বিল্ড কনফিগারেশন এবং কার্যকলাপ পরিচালনা করতে সাহায্য করে।
Groovy স্ক্রিপ্ট ব্যবহার করে Gradle বিল্ড স্ক্রিপ্ট তৈরি করা হয় যা বিল্ড টাস্কগুলি, ডিপেনডেন্সি ম্যানেজমেন্ট, এবং অন্যান্য বিল্ড সংশ্লিষ্ট কাজ সম্পন্ন করে।
Gradle এর বিল্ড স্ক্রিপ্ট সাধারণত build.gradle
ফাইল হিসেবে তৈরি হয়, যা Groovy ভাষায় লেখা হয়। এই ফাইলের মাধ্যমে আপনি আপনার প্রকল্পের বিভিন্ন কাজ যেমন ডিপেনডেন্সি ম্যানেজমেন্ট, প্লাগইন কনফিগারেশন, টাস্ক এবং বিল্ড প্রক্রিয়া কাস্টমাইজ করতে পারেন।
plugins {
id 'java'
id 'groovy'
}
repositories {
mavenCentral()
}
dependencies {
implementation 'org.codehaus.groovy:groovy-all:3.0.9'
testImplementation 'org.spockframework:spock-core:2.0-M5-groovy-3.0'
}
task hello {
doLast {
println 'Hello from Gradle and Groovy!'
}
}
এখানে, একটি সাধারণ Gradle বিল্ড স্ক্রিপ্টে:
hello
টাস্ক তৈরি করা হয়েছে, যা Gradle রান করার সময় "Hello from Gradle and Groovy!" মেসেজ প্রিন্ট করবে।Groovy বিল্ড স্ক্রিপ্টের মাধ্যমে আপনি Gradle প্রকল্পে Groovy কোড রান করানোর জন্য বিশেষ প্লাগইন ব্যবহৃত করতে পারেন। Groovy Plugin ব্যবহার করে আপনি Groovy কোড কম্পাইল এবং রান করতে পারেন।
Gradle প্রকল্পে Groovy প্লাগইন যুক্ত করতে নিচের কোড ব্যবহার করতে পারেন:
plugins {
id 'groovy'
}
এটি Gradle এর সাথে Groovy ফিচার যোগ করে, যেমন Groovy সোর্স ফাইল কম্পাইল এবং Groovy টেস্ট রান করা।
Groovy প্লাগইন ব্যবহারের মাধ্যমে Groovy কোড কম্পাইল করা যেতে পারে:
task runGroovy(type: GroovySourceSet) {
source 'src/main/groovy'
classpath sourceSets.main.runtimeClasspath
doLast {
println 'Groovy code compiled successfully!'
}
}
এখানে, runGroovy
টাস্কটি Groovy সোর্স কোড কম্পাইল করে এবং রান করবে।
Groovy এবং Gradle এর ইন্টিগ্রেশন আপনাকে অনেক সুবিধা প্রদান করে, বিশেষ করে যখন Java এবং Groovy কোড একসাথে ব্যবহৃত হয়। Gradle প্লাগইন সিস্টেম Groovy এবং Java এর সাথে ভালোভাবে কাজ করে, এবং উন্নত ফিচার যেমন ডিপেনডেন্সি ম্যানেজমেন্ট, মাল্টিপল টাস্কিং, এবং ফাইল সিস্টেম ইন্টিগ্রেশন সরবরাহ করে।
আপনি Gradle টাস্কের মাধ্যমে Groovy স্ক্রিপ্ট রান করতে পারেন, যা Groovy এবং Java কোডের একত্রিত ব্যবহারের জন্য অত্যন্ত উপযোগী।
task runGroovyScript {
doLast {
def script = new GroovyShell()
script.evaluate(new File('src/main/groovy/HelloWorld.groovy'))
}
}
এখানে, একটি Gradle টাস্ক runGroovyScript
Groovy স্ক্রিপ্ট রান করবে।
Gradle এবং Groovy একটি শক্তিশালী টুলসেট গঠন করে, যা Java এবং Groovy অ্যাপ্লিকেশন বিল্ড এবং ডিপ্লয়মেন্ট প্রক্রিয়াকে আরও সহজ এবং দ্রুত করে তোলে। Groovy এর ডাইনামিক স্ক্রিপ্টিং এবং সংক্ষিপ্ত কোডিং সিনট্যাক্স Gradle এর সঙ্গে একত্রে কাজ করতে খুবই উপযোগী। Groovy এর মাধ্যমে Gradle স্ক্রিপ্ট তৈরি এবং কাস্টমাইজেশন সহজ হয়, এবং Groovy কোড এবং Java লাইব্রেরির সমন্বয়ে প্রকল্পের কার্যকারিতা বৃদ্ধি পায়।
Gradle হলো একটি শক্তিশালী Build Automation Tool, যা Java, Groovy, Kotlin, এবং অন্যান্য ভাষার প্রজেক্টগুলো সহজে বিল্ড, ডিপ্লয় এবং ম্যানেজ করতে সহায়তা করে। Gradle এর ফ্লেক্সিবল এবং অত্যাধুনিক স্ট্রাকচার একে অত্যন্ত জনপ্রিয় করেছে। Maven এবং Ant এর মতো অন্যান্য বিল্ড টুলের তুলনায় Gradle অনেক বেশি দ্রুত এবং কাস্টমাইজেবল।
Gradle এর DSL (Domain-Specific Language) সিনট্যাক্সের জন্য Groovy বা Kotlin ব্যবহার করা হয়, যা বিল্ড স্ক্রিপ্ট তৈরি করা এবং পড়া সহজ করে তোলে।
Gradle ইনস্টল করতে, Gradle এর অফিসিয়াল সাইট থেকে Gradle ডাউনলোড করে PATH এ যুক্ত করতে হবে অথবা SDKMAN ব্যবহার করে Gradle ইনস্টল করা যায়।
sdk install gradle
ইনস্টলেশন সম্পন্ন হলে নিচের কমান্ডটি চালিয়ে ইনস্টলেশন পরীক্ষা করা যেতে পারে:
gradle -v
Gradle বিল্ড স্ক্রিপ্ট সাধারণত build.gradle
নামে থাকে এবং এটি Groovy বা Kotlin DSL এ লেখা হয়। Gradle স্ক্রিপ্টে বিভিন্ন টাস্ক এবং ডিপেনডেন্সি সংজ্ঞায়িত করা হয় যা প্রজেক্ট বিল্ডের জন্য প্রয়োজন।
// build.gradle
plugins {
id 'java'
}
group 'com.example'
version '1.0-SNAPSHOT'
repositories {
mavenCentral()
}
dependencies {
implementation 'org.springframework:spring-core:5.3.9'
testImplementation 'junit:junit:4.13.2'
}
test {
useJUnitPlatform()
}
Gradle এর মূল বিল্ডিং ব্লক হলো টাস্ক। প্রতিটি টাস্কে একটি নির্দিষ্ট কাজ সম্পন্ন হয়। উদাহরণস্বরূপ, compileJava
টাস্ক সোর্স কোড কম্পাইল করে এবং test
টাস্ক টেস্ট চালায়।
Gradle এ কাস্টম টাস্ক তৈরি করা খুবই সহজ।
task hello {
doLast {
println 'Hello, Gradle!'
}
}
এই টাস্কটি gradle hello
কমান্ড ব্যবহার করে চালানো যাবে এবং এটি "Hello, Gradle!" প্রিন্ট করবে।
Gradle এর ডিপেনডেন্সি ম্যানেজমেন্ট সিস্টেম অত্যন্ত শক্তিশালী। Gradle Maven Central, JCenter, এবং Ivy রিপোজিটরি থেকে ডিপেনডেন্সি নিয়ে আসতে পারে।
dependencies {
implementation 'org.springframework:spring-core:5.3.9'
testImplementation 'junit:junit:4.13.2'
}
লোকাল লাইব্রেরি ব্যবহার করতে files()
মেথড ব্যবহার করা যায়।
dependencies {
implementation files('libs/local-library.jar')
}
Gradle এর মাধ্যমে একটি মূল প্রজেক্টে একাধিক সাব-প্রজেক্ট বিল্ড করা যায়। প্রতিটি সাব-প্রজেক্টের জন্য আলাদা বিল্ড স্ক্রিপ্ট থাকা সম্ভব এবং মূল প্রজেক্ট তাদেরকে সংহত করতে পারে।
প্রথমে প্রজেক্টের মূল settings.gradle
ফাইলে সব সাব-প্রজেক্ট উল্লেখ করতে হবে।
// settings.gradle
rootProject.name = 'MultiProjectExample'
include 'subproject1', 'subproject2'
প্রতিটি সাব-প্রজেক্টের জন্য আলাদা build.gradle
ফাইল থাকা উচিত, যাতে তাদের নিজস্ব টাস্ক এবং ডিপেনডেন্সি থাকে।
// subproject1/build.gradle
plugins {
id 'java'
}
dependencies {
implementation project(':subproject2')
}
Gradle কিছু বিল্ট-ইন টাস্ক সরবরাহ করে, যেমন build
, clean
, test
, এবং assemble
। এই টাস্কগুলির মাধ্যমে বিভিন্ন বিল্ড পর্যায় সম্পন্ন করা যায়।
Gradle Wrapper ব্যবহার করে প্রজেক্টে নির্দিষ্ট ভার্সনের Gradle ইনস্টল করা যায় এবং এটি নতুন ডেভেলপারদের সিস্টেমে Gradle ইনস্টলেশন ছাড়াই প্রজেক্ট রান করার সুযোগ দেয়।
gradle wrapper
এই কমান্ডটি চালালে প্রজেক্টে gradlew
এবং gradlew.bat
নামে দুটি ফাইল তৈরি হবে, যা ক্রস-প্ল্যাটফর্ম Gradle কমান্ড হিসাবে কাজ করবে।
./gradlew build # Linux or Mac
gradlew build # Windows
Gradle Wrapper নির্দিষ্ট ভার্সনের Gradle ব্যবহার করে প্রজেক্ট বিল্ড করতে সক্ষম।
Gradle একটি শক্তিশালী Build Automation টুল, যা সহজেই Java, Groovy, Kotlin এবং অন্যান্য ভাষার প্রজেক্ট বিল্ড করতে সহায়তা করে। Gradle এর সাহায্যে ডিপেনডেন্সি ম্যানেজমেন্ট, টাস্ক তৈরি, মাল্টি-প্রজেক্ট বিল্ড, এবং বিল্ড কনফিগারেশন খুবই সহজে করা যায়। Gradle Wrapper নতুন ডেভেলপারদের জন্য ইনস্টলেশন ছাড়াই প্রজেক্ট রান করার সুবিধা দেয়। এইসব বৈশিষ্ট্যের কারণে Gradle Build Automation এর জন্য অত্যন্ত জনপ্রিয় এবং কার্যকরী একটি টুল।
Gradle হল একটি আধুনিক বিল্ড টুল যা Java, Groovy, Kotlin, এবং অন্যান্য ভাষার প্রোজেক্ট বিল্ড করতে ব্যবহৃত হয়। এটি অত্যন্ত নমনীয়, দ্রুত, এবং প্রোডাক্টিভ বিল্ড সিস্টেম প্রদান করে যা একাধিক ভাষা এবং ফ্রেমওয়ার্কে কাজ করতে পারে। Gradle এর দুটি মূল উপাদান হল Build Scripts এবং Tasks। এই দুটি উপাদান আপনাকে বিল্ড প্রক্রিয়া কনফিগার করতে, পরিচালনা করতে এবং এক্সিকিউট করতে সাহায্য করে।
Build Scripts হল স্ক্রিপ্ট ফাইল যা Gradle বিল্ড প্রক্রিয়া কনফিগার করার জন্য ব্যবহৃত হয়। সাধারণত, Gradle বিল্ড স্ক্রিপ্টগুলি Groovy বা Kotlin DSL (Domain-Specific Language) ব্যবহার করে লেখা হয়। Gradle এর বিল্ড স্ক্রিপ্টগুলি build.gradle
(Groovy DSL) অথবা build.gradle.kts
(Kotlin DSL) ফাইলের মাধ্যমে তৈরি করা হয়।
Groovy DSL তে Gradle স্ক্রিপ্টের মধ্যে প্লাগইন, ডিপেন্ডেন্সি, টাস্ক, এবং অন্যান্য কনফিগারেশন সন্নিবেশিত থাকে।
plugins {
id 'java'
}
group = 'com.example'
version = '1.0-SNAPSHOT'
repositories {
mavenCentral()
}
dependencies {
implementation 'org.springframework:spring-core:5.3.10'
}
task hello {
doLast {
println 'Hello, Gradle!'
}
}
এখানে:
plugins
ব্লকটি Gradle প্লাগইন কনফিগার করে (এখানে Java প্লাগইন যোগ করা হয়েছে)।repositories
ব্লকটি ডিপেন্ডেন্সি ফেচ করার জন্য রেপোজিটরি (যেমন Maven Central) নির্ধারণ করে।dependencies
ব্লকটি প্রোজেক্টের জন্য ডিপেন্ডেন্সি ডিক্লেয়ার করে (যেমন Spring Core এর একটি ভার্সন)।task hello
একটি কাস্টম টাস্ক তৈরি করে, যা doLast
ব্লকের মধ্যে কার্যকর হয় এবং 'Hello, Gradle!' প্রিন্ট করে।Kotlin DSL তে Gradle স্ক্রিপ্টগুলি Kotlin ভাষায় লেখা হয়, যা Groovy এর তুলনায় আরও স্ট্যাটিক এবং টাইপ সেফ।
plugins {
kotlin("jvm") version "1.5.21"
}
repositories {
mavenCentral()
}
dependencies {
implementation("org.jetbrains.kotlin:kotlin-stdlib")
}
tasks.register("hello") {
doLast {
println("Hello, Gradle!")
}
}
এখানে:
plugins
ব্লকটি Kotlin প্লাগইন যোগ করে।repositories
ব্লকটি ডিপেন্ডেন্সি রেপোজিটরি নির্ধারণ করে।dependencies
ব্লকটি প্রোজেক্টের জন্য ডিপেন্ডেন্সি নির্ধারণ করে।tasks.register("hello")
একটি কাস্টম টাস্ক তৈরি করে যা 'Hello, Gradle!' প্রিন্ট করে।Tasks হল Gradle এর সবচেয়ে গুরুত্বপূর্ণ অংশ। এটি আপনার বিল্ড প্রক্রিয়াকে একাধিক স্টেপে ভাগ করে, যা সম্পন্ন হওয়ার পর আগের স্টেপে নির্ধারিত কাজগুলো পরবর্তী স্টেপে প্রক্রিয়া করতে সহায়তা করে। একেকটি task বিভিন্ন বিল্ড অপারেশন বা কার্যক্রম যেমন: কম্পাইল, প্যাকেজিং, টেস্টিং ইত্যাদি সম্পাদন করতে ব্যবহৃত হয়।
doLast {}
বা doFirst {}
ব্লক ব্যবহার করে task এর কার্যক্রম (action) কনফিগার করা হয়।Gradle কিছু predefined tasks দেয় যা আপনাকে সাধারণ বিল্ড কার্যক্রম যেমন compile
, test
, build
ইত্যাদি চালাতে সাহায্য করে। উদাহরণস্বরূপ:
build
: প্রোজেক্ট বিল্ড করতে ব্যবহৃত একটি task।test
: টেস্ট চালানোর জন্য ব্যবহৃত task।clean
: পূর্বের বিল্ডের আউটপুট পরিষ্কার করতে ব্যবহৃত task।Gradle এ আপনি আপনার নিজস্ব কাস্টম টাস্ক তৈরি করতে পারেন, যার মাধ্যমে নির্দিষ্ট কার্যক্রম সম্পন্ন করা হয়।
task hello {
doLast {
println 'Hello, this is a custom task!'
}
}
task goodbye {
doLast {
println 'Goodbye, Gradle!'
}
}
hello.finalizedBy(goodbye) // goodbye task will run after hello task
এখানে:
hello
নামক একটি কাস্টম টাস্ক তৈরি করা হয়েছে যা 'Hello, this is a custom task!' প্রিন্ট করবে।goodbye
টাস্ক hello
টাস্কের পরে চলবে, কারণ hello.finalizedBy(goodbye)
ব্যবহার করা হয়েছে।Gradle এর মধ্যে আপনি টাস্কের মধ্যে নির্ভরতা তৈরি করতে পারেন, যেমন একটি টাস্ক অন্য টাস্ক সম্পন্ন হওয়ার পর চালানো হয়।
task compileJava {
doLast {
println 'Compiling Java source code...'
}
}
task compileResources {
doLast {
println 'Compiling resources...'
}
}
compileJava.dependsOn compileResources // compileJava will run after compileResources
এখানে, compileJava
টাস্কটি compileResources
টাস্কের উপর নির্ভরশীল, তাই compileResources
আগে চালানো হবে।
build.gradle
বা build.gradle.kts
ফাইল হিসেবে থাকে।Groovy তে Gradle ব্যবহার করে আপনি সহজেই বিল্ড স্ক্রিপ্ট তৈরি করতে পারেন এবং টাস্কগুলিকে কাস্টমাইজ ও নিয়ন্ত্রণ করতে পারেন, যার ফলে সফটওয়্যার ডেভেলপমেন্ট এবং ডিপ্লয়মেন্ট আরও দ্রুত ও কার্যকর হয়।
Groovy তে Custom Tasks এবং Plugins তৈরি করা খুবই কার্যকরী হতে পারে, বিশেষত যখন আপনি একটি প্রজেক্টের জন্য নির্দিষ্ট কাজ সম্পাদন করতে চান বা Groovy এর ক্ষমতাগুলি আরও সম্প্রসারিত করতে চান। Groovy তে Custom Tasks এবং Plugins তৈরি করা খুব সহজ এবং এটি Gradle এর সাথে ইন্টিগ্রেট করা যায়। Gradle Groovy এর সাথে একটি জনপ্রিয় বিল্ড টুল, যা Custom Tasks এবং Plugins তৈরির জন্য ব্যবহৃত হয়।
Gradle এ Custom Tasks তৈরি করা Groovy তে খুব সহজ এবং নমনীয়। Custom Task হল এমন একটি টাস্ক যা আপনি আপনার প্রোজেক্টের জন্য নির্দিষ্টভাবে তৈরি করেন।
Gradle এ টাস্ক হল এক ধরনের কাজ, যা আপনি একটি প্রোজেক্টের জন্য চালাতে পারেন। আপনি যখন Gradle টাস্ক তৈরি করেন, তখন আপনি সেই টাস্কে কোড লিখতে পারেন যা কোনো নির্দিষ্ট কাজ বা কাজের ধারা সম্পাদন করবে।
task helloWorld {
doLast {
println 'Hello, Groovy!'
}
}
এখানে:
helloWorld
একটি Custom Task যা "Hello, Groovy!"
আউটপুট করবে।doLast
একটি ব্লক, যার মধ্যে টাস্কের কাজ সংজ্ঞায়িত করা হয়। এই কাজটি টাস্কের শেষে সম্পন্ন হবে।এখন, আপনি Gradle কমান্ড লাইনে helloWorld
টাস্কটি রান করতে পারেন:
gradle helloWorld
এটি "Hello, Groovy!"
আউটপুট করবে।
Groovy তে আপনি Custom Task এর মধ্যে একাধিক কাজ সংজ্ঞায়িত করতে পারেন। এটি একটি টাস্কের মাধ্যমে বিভিন্ন কাজ সম্পাদন করার উপায়।
task customTask {
doLast {
println 'Task 1: Cleaning up files'
}
doLast {
println 'Task 2: Processing data'
}
}
এখানে, customTask
এর ভিতরে দুটি doLast
ব্লক রয়েছে, যা দুটি আলাদা কাজ সম্পাদন করবে।
Groovy তে Plugins হল অতিরিক্ত কার্যকারিতা যা Gradle এর সাথে যুক্ত করে আপনার বিল্ড টুলের ক্ষমতা বৃদ্ধি করে। আপনি নিজেই Custom Plugins তৈরি করতে পারেন যা Gradle-এর জন্য নির্দিষ্ট কার্যকারিতা যোগ করবে।
Plugins হল Gradle এর মাধ্যমে নির্দিষ্ট ফিচার বা কাজের জন্য কোডের সেট যা আপনাকে সহজেই কাস্টম কাজ এবং কার্যকারিতা সংযোজন করতে সহায়তা করে।
একটি Gradle Plugin তৈরি করতে, আপনি সাধারণত একটি Groovy ক্লাস তৈরি করবেন এবং Gradle এর Plugin
ইন্টারফেস ইমপ্লিমেন্ট করবেন।
class HelloPlugin implements Plugin<Project> {
void apply(Project project) {
project.task('hello') {
doLast {
println 'Hello from the custom plugin!'
}
}
}
}
এখানে:
HelloPlugin
একটি Custom Plugin, যা একটি hello
টাস্ক তৈরি করবে এবং "Hello from the custom plugin!"
আউটপুট করবে।apply
মেথডে আপনি প্লাগিনের কার্যকারিতা নির্ধারণ করবেন।build.gradle
ফাইলে প্লাগিনটি যুক্ত করুন:apply plugin: HelloPlugin
gradle hello
কমান্ড চালিয়ে টাস্কটি চালাতে পারবেন।যখন আপনি Gradle বা Groovy প্রকল্পে Custom Plugin তৈরি করেন, তখন সেটি অন্য প্রকল্পে ব্যবহার করার জন্য ইনস্টল করা হতে পারে। এটি প্লাগিনের পুনঃব্যবহারযোগ্যতা এবং অন্য প্রোজেক্টে সুবিধাজনক হয়ে ওঠে।
Gradle এর build.gradle
ফাইলে আপনি Custom Plugin ডিফাইন করতে পারেন।
plugins {
id 'com.example.hello' version '1.0'
}
এখানে, com.example.hello
হল আপনার তৈরি করা Custom Plugin এর আইডি এবং version
হল তার সংস্করণ।
Gradle প্লাগিন রেজিস্ট্রি ব্যবহার করে আপনি প্লাগিনটি রেজিস্টার করতে পারেন এবং তারপর সেটি প্রকল্পে ইনস্টল করা যেতে পারে।
task
ডিফাইন করে এবং তার মধ্যে কোড লিখে যে কোনো কাজ সম্পাদন করতে পারেন।Groovy এবং Gradle এর মাধ্যমে Custom Tasks এবং Plugins তৈরি করে, আপনি আপনার বিল্ড সিস্টেমকে আরও শক্তিশালী এবং নমনীয় করে তুলতে পারবেন।
Gradle হল একটি আধুনিক বিল্ড অটোমেশন টুল যা Java, Groovy, Kotlin, Scala সহ বিভিন্ন ভাষার জন্য ব্যবহৃত হয়। এটি একাধিক প্ল্যাটফর্মে কার্যকরী এবং অত্যন্ত কনফিগারযোগ্য, যার মাধ্যমে আপনি ডেভেলপমেন্ট, বিল্ড, টেস্ট, ডিপ্লয়মেন্ট, এবং অন্যান্য সিস্টেম পরিচালনা করতে পারেন। Groovy এবং Gradle এর ইন্টিগ্রেশন Groovy স্ক্রিপ্টিং এবং প্লাগইন ব্যবহার করে Gradle এর কার্যকারিতা আরও উন্নত করে তোলে।
Groovy Gradle এর একটি গুরুত্বপূর্ণ অংশ, কারণ Gradle নিজে Groovy-ভিত্তিক DSL (Domain-Specific Language) ব্যবহার করে যা বিল্ড স্ক্রিপ্ট লেখার জন্য ব্যবহৃত হয়। Gradle এর বিল্ড স্ক্রিপ্টে Groovy সিনট্যাক্স ব্যবহার করা হয়, যার মাধ্যমে আপনাকে বিল্ড কনফিগারেশন সহজেই তৈরি করতে সাহায্য করে।
Gradle Groovy-ভিত্তিক DSL ব্যবহার করে আপনাকে বিল্ড স্ক্রিপ্ট লেখার সুযোগ দেয়, যেখানে Groovy কোডিংয়ের মাধ্যমে আপনাকে বিল্ড লজিক তৈরি এবং কাস্টমাইজ করার সুযোগ দেওয়া হয়। Groovy আপনাকে সরল এবং ক্লিন সিনট্যাক্সে স্ক্রিপ্ট তৈরি করতে সহায়তা করে এবং Gradle আপনার পছন্দের ডিপেন্ডেন্সি ও প্লাগইন ব্যবহার করে বিল্ড এবং টেস্টিং কাজ সম্পন্ন করে।
Gradle এর বিল্ড স্ক্রিপ্টে Groovy ব্যবহার করা হয় যা কার্যকরভাবে কাজের ধরণ ও অপারেশন ডিফাইন করতে সহায়ক। Gradle এর ভার্সন 5.0 এবং পরবর্তী সংস্করণগুলো Kotlin DSL সমর্থন করে, তবে Groovy DSL এখনও সবচেয়ে জনপ্রিয় এবং ব্যবহৃত।
Gradle এর বিল্ড স্ক্রিপ্ট সাধারণত build.gradle
ফাইল নামে পরিচিত এবং Groovy ভিত্তিক DSL এর মাধ্যমে এটি লেখা হয়। নিচে একটি সিম্পল Gradle বিল্ড স্ক্রিপ্টের উদাহরণ দেয়া হলো:
apply plugin: 'java' // Java প্লাগইন প্রয়োগ করা হচ্ছে
repositories {
mavenCentral() // মেভেন সেন্ট্রাল রিপোজিটরি থেকে ডিপেন্ডেন্সি সংগ্রহ করা হচ্ছে
}
dependencies {
implementation 'org.springframework.boot:spring-boot-starter-web:2.5.4' // ডিপেন্ডেন্সি যোগ করা
}
task hello {
doLast {
println 'Hello from Gradle using Groovy DSL!'
}
}
এখানে:
apply plugin: 'java'
: Java প্লাগইন Gradle স্ক্রিপ্টে প্রয়োগ করা হচ্ছে।repositories
ব্লকে মেভেন সেন্ট্রাল রিপোজিটরি ব্যবহার করা হচ্ছে।dependencies
ব্লকে Spring Boot এর ওয়েব স্টার্টার ডিপেন্ডেন্সি যোগ করা হয়েছে।task hello
: Gradle এর একটি কাস্টম টাস্ক, যা println
স্টেটমেন্ট রান করবে।Groovy স্ক্রিপ্ট ব্যবহার করে Gradle এর কাস্টম টাস্ক তৈরি করা যেতে পারে। নিচে একটি উদাহরণ দেওয়া হলো যেখানে Groovy কোড ব্যবহার করে Gradle এর একটি কাস্টম টাস্ক তৈরি করা হয়েছে:
task greet {
doLast {
def name = 'Gradle User'
def greeting = greetUser(name)
println greeting
}
}
def greetUser(String name) {
return "Hello, $name! Welcome to Gradle with Groovy."
}
এখানে:
greet
নামে একটি টাস্ক তৈরি করা হয়েছে, যা Groovy ফাংশন greetUser
কে কল করে এবং একটি স্বাগত বার্তা প্রিন্ট করে।Groovy তে Gradle প্লাগইন তৈরি করা যেতে পারে, যা একটি কাস্টম কাজ সম্পন্ন করবে।
class CustomPlugin implements Plugin<Project> {
void apply(Project project) {
project.task('helloWorld') {
doLast {
println 'Hello, World from Custom Plugin!'
}
}
}
}
apply plugin: CustomPlugin // প্লাগইনটি প্রয়োগ করা হচ্ছে
এখানে:
helloWorld
টাস্ক তৈরি করবে এবং একটি বার্তা প্রিন্ট করবে।apply plugin: CustomPlugin
দিয়ে প্রয়োগ করা হয়েছে।Groovy এবং Gradle এর ইন্টিগ্রেশন আরও অনেক শক্তিশালী এবং নমনীয় কার্যকারিতা প্রদান করে, যেমন:
common.read_more